//
//  ViewManager.h
//  tcpoctest
//
//  Created by gump on 10/19/12.
//  Copyright (c) 2012 gump. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "MBProgressHUD.h"
#import "FriendStatus.h"

@class MainViewController;
@class LoginViewController;
@class configViewController;
@class configTwoViewController;
@class forgetVC;
@class personalInfoVC;
@class ChatViewController;
@class peopleListVC;
@class PersonInfoVC;
@class SearchFirendVC;
@class setTextVC;
@class setPSVC;
@class CommonViewController;
@class configFiveVC;
@class DefaultVC;
@class SetSign;
@class ChatImageViewController;
@class setMailVC;
@class HelpViewController;
//root view
@class xxViewController;
@class firendViewController;
@class serverViewController;
@class setViewController;

@class requestCheckInfo;

@class StatusListViewController;//碰碰圈
@class WriteStatusViewController;
@class CommentsListViewController;
@class PersonalStatusViewController;
@class CommentViewController;

@class CustomStatusBar;

@class OnlinePeopleView;

@class selectGiftView;
@class ListInfoGiftView;
@class giftSendView;
@class giftShowView;
@class giftStorageView;
@class RankingListView;

@class rechargeView;

@class purchaseView;
@class rechargeShowView;

@class setNewsView;

@class TaskViewController;
@class shopView;

@class helpWebView;

@class telepathyView;
@class LoveView;
@class CompleteViewController;

@interface ViewManager : NSObject
{
    MBProgressHUD *hud;
}

@property(nonatomic,strong) CommonViewController    * currentVC;
@property(nonatomic,strong) NSMutableArray          * ShowViewArr;

@property(nonatomic,strong) MainViewController      * mainvc;
@property(nonatomic,strong) UIWindow                * mywindow;
@property(nonatomic,strong) LoginViewController     * loginvc;
@property(nonatomic,strong) configViewController    * configvc;
@property(nonatomic,strong) configTwoViewController * configtwo;
@property(nonatomic,strong) forgetVC                * forgetview;
@property(nonatomic,strong) personalInfoVC          * personalvc;
@property(nonatomic,strong) ChatViewController      * chatvc;
@property(nonatomic,strong) peopleListVC            * peoplelistvc;
@property(nonatomic,strong) PersonInfoVC            * pivc;
@property(nonatomic,strong) SearchFirendVC          * searchFirendVC;
@property(nonatomic,strong) setTextVC               * setNameVC;
@property(nonatomic,strong) setPSVC                 * setpsvc;
@property(nonatomic,strong) configFiveVC            * cigfiveview;
@property(nonatomic,strong) DefaultVC               * defaultview;
@property(nonatomic,strong) SetSign                 * setsigncv;
@property(nonatomic,strong) ChatImageViewController * chatImageVC;
@property(nonatomic,strong) setMailVC               * setmailview;
//root view
@property(nonatomic,strong) xxViewController        * xxvc;
@property(nonatomic,strong) firendViewController    * firendvc;
@property(nonatomic,strong) serverViewController    * servervc;
@property(nonatomic,strong) setViewController       * setvc;
@property(nonatomic,strong) HelpViewController      * helpVC;


@property(nonatomic,strong) StatusListViewController        * friendStatusListvc;
@property(nonatomic,strong) WriteStatusViewController       * writeStatusvc;
@property(nonatomic,strong) CommentsListViewController      * commentsListvc;
@property(nonatomic,strong) PersonalStatusViewController    * personalStatusvc;
@property(nonatomic,strong) CommentViewController           * commentvc;

@property(nonatomic,strong) CustomStatusBar                 * custompromptbar;

@property(nonatomic,strong) OnlinePeopleView                * onlinepeoplevc;

@property(nonatomic,strong) selectGiftView                  * giftselectvc;
@property(nonatomic,strong) ListInfoGiftView                * giftListInfoVC;
@property(nonatomic,strong) giftSendView                    * giftsendvc;
@property(nonatomic,strong) giftShowView                    * giftshowvc;
@property(nonatomic,strong) giftStorageView                 * giftStorageVC;

@property(nonatomic,strong) RankingListView                 * rankListVC;

@property(nonatomic,strong) rechargeView                    * rechargeVC;
//task
@property(nonatomic,strong) TaskViewController              * taskVC;
//purchase
@property(nonatomic,strong) purchaseView                    * purchaseVC;
@property(nonatomic,strong) rechargeShowView                * rechargeShowVC;
//set
@property(nonatomic,strong) setNewsView                     * setNewsVC;
//shop
@property(nonatomic,strong) shopView                        * shopVC;
//help
@property(nonatomic,strong) helpWebView                     * helpWebVC;
//telepathy
@property(nonatomic,strong) telepathyView                   * telepathyVC;
@property(nonatomic,strong) LoveView                        * loveVC;

//tencentQQ
@property(nonatomic,strong) CompleteViewController      * completeInfoVC;
+(ViewManager*)sharedViewManager;

-(void)viewStart;
-(void)showMain:(bool)bremovecv;
-(void)ConfigFail;
-(void)LoginFail:(char)failID;
-(void)PICVsetLabelText;
-(void)showView:(int)viewID withIsRemoveCurV:(bool)bremovecv withDirection:(int)dir;
-(void)searchFirendFail;

-(void)addXMDabge;
-(void)subXMDabge;

-(void)ISSetSuccess:(bool)bsuccess;
-(void)reloadFirendView;
-(void)reloadNearPeople;
-(void)backView:(CommonViewController *)vc;
-(void)backViewDirect:(CommonViewController *)vc;
-(void)showDefaultWithoutAnimation:(bool)bremovecv;
-(void)setChatImage:(UIImage *)img;
-(void)setCommentsWithStatus:(FriendStatus *)status;

-(void)showSuccessProgressHUDWithStatus:(NSString *)strtext withView:(UIView *)view;
-(void)dismissProgressHUD;
-(void)showProgressHUDWithStatus:(NSString *)strtext
                        withView:(UIView *)view;
-(void)ChangeHUDShowSuccess:(NSString *)strtext;
-(void)ChangeHUDShowFail:(NSString *)strtext;
-(void)showFailHUDWithStatus:(NSString *)strtext
                   withDelay:(int)idelay
                    withView:(UIView *)view;
-(void)showSucessHUDWithStatus:(NSString *)strtext
                     withDelay:(int)idelay
                      withView:(UIView *)view;
-(void)ChangeHUDText:(NSString *)str;

-(void)LocallyLogin:(bool)bShowDefault;

-(void)ClearConfigUI;
-(void)refreshSetView;
-(void)ClearShowViewArr;

//show view array
-(void)insertRootView:(CommonViewController *)vc;
@end
